Interpreting Nondeterminism in the Refinement Calculus
نویسندگان
چکیده
We introduce a simple programming language and define its predicate transformer semantics. We motivate the choice of the constructs for the language by algebraic arguments, showing that the constructs are essentially the basic algebraic operations that are available for predicate transformers, when these are viewed as forming a complete lattice enriched category. We then show that the statements in the language can be given a simple operational interpretation, as describing the interaction between a user and a computing system. This gives a general intuitive interpretation of angelic and demonic nondeterminism. We also consider the notion of correctness and refinement of program statements that this intuitive interpretation gives rise to, and show the connection between the user-system interpretation and the interpretation of program execution as a game.
منابع مشابه
A Predicate Transformer Semantics for a Concurrent Language of Refinement
Circus is a combination of Z and CSP; its chief distinguishing feature is the inclusion of the ideas of the refinement calculus. Our main objective is the definition of refinement methods for concurrent programs. The original semantic model for Circus is Hoare and He’s unifying theories of programming. In this paper, we present an equivalent semantics based on predicate transformers. With this ...
متن کاملProgram Inversion in the Refinement Calculus
We present a calculational method for inverting programs by inverting the components separately. This is made possible by using assertions as commands and by permitting constructs that exhibit angelic nondeterminism. Rules are given for transforming inverted programs so that the angelic constructs are removed. A simple example illustrates the method.
متن کاملRefinement Sensitive Formal Semantics of State Machines With Persistent Choice
Modeling languages usually support two kinds of nondeterminism, an external one for interactions of a system with its environment, and one that stems from under-specification as familiar in models of behavioral requirements. Both forms of nondeterminism are resolvable by composing a system with an environment model and by refining under-specified behavior (respectively). Modeling languages usua...
متن کاملAngelic processes
In the formal modelling of systems, demonic and angelic nondeterminism play fundamental roles as abstraction mechanisms. The angelic nature of a choice pertains to the property of avoiding failure whenever possible. As a concept, angelic choice first appeared in automata theory and Turing machines, where it can be implemented via backtracking. It has traditionally been studied in the refinement...
متن کاملAngelicism in the Theory of Reactive Processes
The concept of angelic nondeterminism has traditionally been employed in the refinement calculus. Despite different notions having been proposed in the context of process algebras, namely Communicating Sequential Processes (CSP), the analogous counterpart to the angelic choice operator of the monotonic predicate transformers, has been elusive. In order to consider this concept in the context of...
متن کامل